package com.example.chandao.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.example.chandao.pojo.BugTypeStatistics;
import com.example.chandao.pojo.ResearchUser;
import com.example.chandao.pojo.ResearchUserBug;
import com.example.chandao.pojo.ResearchUserTask;
import org.apache.ibatis.annotations.Mapper;

import java.util.List;

@Mapper
public interface ResearchUserMapper extends BaseMapper<ResearchUser> {

    /**
     * 获取全部用户的bug，任务以及状态分布具体信息
     * @return
     */
    List<ResearchUser> getAllResearchUserData(ResearchUser researchUser);

    /**
     * 获取产研用户的bug，任务以及状态分布具体信息以及不同状态根据不同时间来筛选(bug与解决人关联，任务和创建人关联)
     * @param researchUser
     * @return
     */
    List<ResearchUser> getAllResearchUserDatas(ResearchUser researchUser);

    /**
     * 获取测试用户的bug，任务以及状态分布具体信息以及不同状态根据不同时间来筛选(bug与创建人关联，任务和指派人关联)
     * @param researchUser
     * @return
     */
    List<ResearchUser> getAllTestUserDatas(ResearchUser researchUser);


    /**
     * 获取具体产研用户的bug以及状态分布具体信息
     * @param researchUser
     * @return
     */
    List<ResearchUserBug> getResearchUserBugData(ResearchUser researchUser);

    /**
     * 获取具体测试用户的bug以及状态分布具体信息
     * @param researchUser
     * @return
     */
    List<ResearchUserBug> getTestUserBugData(ResearchUser researchUser);

    /**
     * 获取具体用户的任务以及状态分布具体信息
     * @param researchUser
     * @return
     */
    List<ResearchUserTask> getResearchUserTaskData(ResearchUser researchUser);

    /**
     * 获取全部用户信息
     * @param researchUser
     * @return
     */
    List<ResearchUser> getResearchUser(ResearchUser researchUser);

    /**
     * 获取bug类型数据的详情信息
     * @param researchUser
     * @return
     */
    List<BugTypeStatistics> getBugTypeStatistics(ResearchUser researchUser);
}
